const { userModel } = require("../models/userModel");
const jwt = require("jsonwebtoken");

// 上传头像
const { uploadFiles } = require('../utils/handleFiles.js');
async function uploadImages(req, res, next) {
    // 图片上传
    const uploadImages = uploadFiles({
        // 图片上传成功后的存储路径
        path: './public/assets',
        // key: 'file',
        // size: 1000
    });
    uploadImages(req, res, (error) => {
        if (error) {
            console.log('图片上传失败', error);
        } else {
            console.log('图片上传成功');
            // 输出上传成功后的图片信息
            console.log(req.files);
            res.send({
                message: '图片上传成功',
                code: 200,
                data: './assets/' + req.files[0].filename
            })
        }
    });
};

//修改用户资料
async function updateUser(req, res, next) {
    let result = await userModel.updateMany({_id:req.body._id},req.body);
    console.log(result)
    if (result.modifiedCount > 0) {
        res.send({ message: "修改成功", code: 200 })
    } else {
        res.send({ message: "修改失败", code: -1 })
    }
}
// module.exports = {
//     updateUser,}
    // uploadImages
// const jwt = require("jsonwebtoken")
// 登录
async function login(req, res, next) {
    let students = await userModel.find(req.body);
    // res.send({c:1})
    if (students.length > 0) {
        const token = jwt.sign(
            { _id: students[0] }, //在token里面保存用户信息
            "psw06091", //需要一个密钥,是一个字符串，内容自己定义
            { expiresIn: 100 } //当前这个token在100s以内是有效果，超过这个时间失效
        )
        res.send({
            message: "登陆成功",
            code: 200,
            user: students[0],
            token: "Bearer " + token
        });
    } else {
        res.send({ "message": '登录失败', code: -1 })
    }
}
// 注册
async function enroll(req, res, next) {
    // 拿到数据库里的所有用户数据
    let users = await userModel.find({});
    let { userPhone, passWord, userName } = req.body;
    //注册
    //先判断是否有该用户，如果有则失败，没有则追加
    let result = users.some((u) => u.userPhone == userPhone);
    if (result) {
        //已存在
        res.send({ message: '该用户已存在', code: -1 });
    } else {
        let users = await userModel.create(req.body);
        console.log(users);
        res.send({ message: '注册成功', code: 200 });
    }

}
module.exports = {
    login,enroll,updateUser,uploadImages
}